package com.ywu.application.standard.dataSource.source;

import com.ywu.application.standard.dataSource.entity.YwuDataExecEntity;
import com.ywu.application.standard.dataSource.entity.YwuDataSourceEntity;
import com.ywu.application.standard.dataSource.entity.YwuDataTableEntity;

import java.util.List;
import java.util.Map;

/**
 * @ClassName YwuExecSqlCore
 * @Description TODO
 * @Author GroundDemo
 * @Date 2024/10/25 20:34
 * @Version 1.0
 **/
public interface YwuExecSqlCore {
    // 获取当前数据源的类型
    String dataSourceType();

    // 创建数据源
    void createDataSource(YwuDataSourceEntity entity);

    // 修改数据源
    void updateDataSource(YwuDataSourceEntity entity);

    // 删除数据源
    void deleteDataSource(YwuDataSourceEntity entity);

    // 创建数据表
    void createTable(YwuDataTableEntity ywuDataTableEntity);

    // 修改数据表
    void updateTable(YwuDataTableEntity oldEntity, YwuDataTableEntity newEntity);

    // 删除数据表
    void deleteTable(YwuDataTableEntity ywuDataTableEntity);

    // 插入数据
    void insertIntoInfo(YwuDataExecEntity ywuDataExecEntity);

    // 删除数据
    void deleteInfo(YwuDataExecEntity ywuDataExecEntity);

    // 更新数据
    void updateInfo(YwuDataExecEntity ywuDataExecEntity);

    // 查询数据
    List<Map<String, Object>> queryInfo(YwuDataExecEntity ywuDataExecEntity);

    // 复杂查询数据
    List<Map<String, Object>> complexQueryInfo(YwuDataExecEntity ywuDataExecEntity);
}
